Private Branch Exchange (PBX) systems provide telephone routing and message services to multiple users within the exchange. For example, typical PBX services include the delivery of external (outside the PBX) and internal (within the PBX) telephone calls, integrated voice mail, hands-free intercom calls, and various other call-center functions. Often times multiple PBX systems (i.e., “nodes”) are connected together to form a telecommunications system network. This network is particularly useful for businesses having multiple offices in various locations, whereby each office has its own PBX (node) connected to the network. In this manner, intranetwork calls between nodes can be placed quickly and, depending upon the communication channel used, typically without toll or long-distance charges.
There are various techniques used to interconnect calling nodes. In the most straightforward manner, nodes are connected in a point-to-point network. In other words, each node of the network is connected to every other node of the network. For example, if there are five nodes in the network, Node 1 is connected to Nodes 2-5, Node 2 is connected to Nodes 1 and 3-5, Node 3 is connected to Nodes 1-2 and 4-5, and so on. Each new node must be connected to every other node of the network, thus, point-to-point topology rapidly becomes impractical as the number of nodes in the network increases.
Another approach uses a “tandem” technique to route calls from node to node in search of the intended or called party. For example, assume that there are five nodes in the network, and caller “A” of Node 1 is calling party “B” of Node 5. The call is routed to Node 2 to see if party “B” is a member of this node. When it is determined that party “B” is not a member of Node 2, the call is routed to Node 3 and a similar search is performed. When the call finally gets to Node 5, the call is connected to party “B” if the node has the available resource. Proportional to the number of nodes in the network is the number of “hops” from node to node. Thus, as the number of nodes increases, so does the “hopping time” needed to process the call.
Improved network architectures were needed to accommodate the growing number of telecommunication nodes. In 1980, the ITU defined the breakthrough Signaling System 7 standard (“SS7”). SS7 is an out-of-band protocol, meaning messaging signals travel on their own data path separate from the actual voice or data call. The messaging signals represent a “request for resources” or a query from one node to another. In this manner, “resources” represent the node's current capacity to accept and carry the type of call requested. For instance, if caller “A” of Node 1 is calling party “B” of Node 5, Node 1 will first send a query signal or “SS7 message” to Node 5 to see if Node 5 has the available resources required to accept the call. If the requested resource status is returned to Node 1 as “unavailable”, then the call is not placed at that time, and caller “A” receives a status message containing further details. Coincidently, the availability of Node 5 to receive the call is determined without actually having to use a voice channel. If the query returns an “available” status from Node 5, a voice channel to Node 5 is reserved and the call is placed. Thus, prior to placing any call, an SS7 message must be sent and received to determine whether the recipient node has the available resources. The caller is not aware that call-set-up querying is occurring, only that there may be a noticeable delay in reaching the intended party.
The advent of combined voice and data communications over packet networks, such as the Internet using TCP/IP protocols, created problems for circuit-switched networks using SS7 protocols. In particular, in order for the two networks to communicate and route calls to each other, conversion gateways and the like had to be implemented. In 1996, the ITU defined H.323, a communications gateway standard to interface IP networks to the Public Switched Telephone Network (PSTN). Specifically, H.323 gateways digitize and compress voice calls from the PSTN into IP packets for routing over IP networks. A second H.323 gateway receives the IP packets and supports decoding the IP packets back to the PSTN. H.323 further defines a resource availability query to a remote node by sending a query to the particular node using the node's IP address. Similar to SS7, the resource query and response occurs at the time of the call (i.e., during call set up). Thus, the H.323 standard provides a manner in which circuit-switched networks and IP networks can communicate, however H.323 fails to improve the call-processing wait time and may even increase the time due to conversion delays and resource queries.
U.S. Pat. No. 6,333,931 issued to LaPier et al. discloses a conversion technique for interconnection between a data network, such as the Internet, and a circuit-switched network using SS7 protocols. Network interconnection is achieved using a protocol converter to convert SS7 signals to TCP/IP and back again. Similar to the H.323 standard, additional call-processing time is needed to convert the signals. Moreover, LaPier requires one or more signal converters to be added to the system, thereby increasing the overall cost of the system.
U.S. Pat. No. 6,415,027 issued to Malik provides a modified SS7 network having a dedicated call-routing server. Malik attempts to reduce traffic in the PSTN by routing calls through the server. Call-protocol signaling is not altered in the Malik system, so SS7 messaging still occurs. However, in the Malik system, after being notified that a subscriber has initiated a call, a resource query to a resource tracker is generated. The resource tracker is a centralized monitoring system that determines whether a call session has started or stopped and maintains an appropriate counter on a resource table. Similar to the SS7 protocol, the resource tracker checks the availability of resources for the called number and returns an appropriate response. Malik appears to avoid costly signal conversion techniques but continues to rely on time-delaying resource queries at the time of call set up.
U.S. Pat. No. 5,544,163 issued to Madonna uses a “ring” or “tile” topology to connect multiple nodes and manage their resources. Rather than using a resource query from one node to another node at the time of the call, the ring topology incorporates a modified tandem technique by “passing-the-packet” from node to node. For example, a first packet having an “empty” payload is passed from a first node to an adjacent node. The adjacent node determines the source of the packet and inserts information, if any, it has to send back to the first node. The packet is then passed to the next adjacent node, and the node inserts information and so on. The process is repeated at each node in the network until the packet traverses the complete network and returns with a “full” payload to the first node. Alternatively, each node can transmit its own “full” payload around the network that contains information originating from a single node. Each full packet is received at each node where the node determines whether any of the information in the packet is needed. Again, this process is repeated until each node on the network has transmitted its packets of information. The Madonna system and similar topologies fail to reduce call-processing wait times and are impractical for use in networks having many nodes. Additionally, the status of a node, including its resource availability, is included in a passed packet. By the time the packet gets passed around the network, the node may have changed its status and used up the resource it reported as available.
U.S. Pat. No. 6,338,112 issued to Wipfel et al. discloses a resource pool for managing available resources of a computing cluster. A cluster is a group of interconnected computers which can present a unified system image. Computers in the cluster typically share a disk, a disk array, or another nonvolatile memory. In a point-to-point manner, a node that needs resources sends a probe to a second node and receives a response to the availability of resources of the second node. This approach is not extendable beyond the needs of basic computing resources and devices as provided by operating systems. The Wipfel system is impractical for the specialized requirements of a high-efficiency communications network such as voice communication.
Accordingly, there is a need for an improved architecture for resource management that can support a large number of interconnected nodes. In addition, there is a need for rapid session processing and reduced session set-up times regardless of the number of nodes in the network. Moreover, there is a need for reliable resource management of interconnected nodes that reduces session processing time and network traffic.